package com.gtw.adapter;

/**
 * 将一个类的接口转换成客户期望的另一个接口
 * 优点:
 *      1.可以让两个没有关系的类一起运行
 *      2.提高了类的复用度:源角色还可以在原系统中正常使用,目标角色也可以充当新的演员
 *      3.灵活性好:不想要适配器删了就好了
 * 使用场景:
 *      修改已经投产中的接口、系统扩展,已有类不符合系统接口
 * 注意:
 *      项目一定要符合里氏替换原则和依赖倒置原则
 *      适配器模式最好在详细设计阶段不要考虑,它是为了解决正在服役中的项目
 */
public class Adapter extends Adaptee implements Target {

    /**
     * 继承Adaptee叫做类适配器
     * 如果将Adaptee作为属性使用
     * private Adaptee adaptee;---->adaptee.doSomething()
     * 这种方式叫做对象适配器
     */
    public void request() {
        System.out.println("转换中");
        super.doSomething();
    }
}
